Field of the Disclosure
The present disclosure generally relates to processors, and more particularly, to a register file for storing data in a processor.
Description of the Related Art
Processors employ various structures to store data for use during processing activities. One type of data structure is a register file. A register file stores a plurality of entries and allows multiple entries to be written to or read from in parallel. An entry is composed of multiple memory cells, one for each bit of the entry. The bits of the collective entries are divided into bit slices, where the same bit of each of the entries in a bit slice is accessed by the same logic structure that acts as a multiplexer to select one bit from one entry. For example, an M-entry bit slice accesses a particular bit for M entries (e.g., bit 5 for all M entries). The M-entry bit slice is replicated to cover all of the N bits. So for a register file with N bits per entry, N M-entry bit slices would be provided. The collection of M-entry bit slices spanning N bits may also be replicated to increase the number of entries in the register file.
Entries in the register file are accessed by read ports and write ports. A read port includes logic that is coupled to each entry of an M-entry bit slice to select a given bit of one of the entries. To support parallel read accesses multiple read ports are provided. Conventional register file layouts position the write ports and the read ports at each memory cell. This distributed approach results in relatively long bit lines. One conventional approach seeking to increase density clusters the read ports instead of distributing them to each memory cell. This approach shortens the bit lines, however, the resulting layout requires a large number of interconnections routed in close proximity to one another to the clustered read ports. Increasing the number of read ports complicates the process of routing the interconnections.
The use of the same reference symbols in different drawings indicates similar or identical items.